---
title: Submit letter print batch job
summary: Filters queued letter requests to updated cases and submits them to the Appworx batch print system.
status: draft
owner: SAIF Documentation Pipeline
last_reviewed: 2026-08-21
library: SAIF.Application.Claim.Legal
reference_type: embedded
operation_id: OP-LGL-009
trigger: clsCreateFileManager.PrintLetters, clsMailDateManager.PrintCoverLetters, or clsRequestManager.OnWrite
---

# Submit letter print batch job

This operation filters a collection of pending letter requests down to the cases that were just updated, then submits them as an Appworx batch print job.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-LGL-009 |
| **Trigger** | `clsCreateFileManager.PrintLetters`, `clsMailDateManager.PrintCoverLetters`, or `clsRequestManager.OnWrite` (recon-request letter path) |
| **Inputs** | Updated case sequence numbers, default printer, user ID, job tag |
| **Outputs** | Appworx batch job submission (external system) |
| **Primary components** | `clsCreateFileManager.PrintLetters`, `clsMailDateManager.PrintCoverLetters` |
| **Entry point** | `SAIF.Application.Claim.Legal\LegalNet\clsCreateFileManager.vb`, `SAIF.Application.Claim.Legal\LegalNet\clsMailDateManager.vb` |

## Steps

1. Filter `clsLetterRequestCollection` entries to those matching the set of updated case sequence numbers.
2. Call `SAIF.Services.Appworx.clsRequestAppworxJob.SubmitBatchJob(DPI, "LGN0002_LEGALNET_LETTERS", "LegalNet", <printer>, <requestNums>, <printer>, , <userID>, <jobTag>[, <caseSeqNums>])`.

   > **Origin**: delegates entirely to `SAIF.Services.Appworx` (see [operations and processes](../../saif-services-appworx/operations-processes.md)) — its own operation/step sequence is documented separately for that library; this callout is inferred/best-effort as that library's operation pages are out of scope for this task.*

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
	Start([Letters queued for print]) --> Filter[Filter letter requests to<br>updated case sequence numbers]
	Filter --> Submit[SAIF.Services.Appworx<br>SubmitBatchJob]
	Submit --> EndOk([Appworx batch job queued])
```

## Failure and edge-case behavior

- No letter requests match the updated case sequence numbers: no batch job is submitted for this call.
- Failure behavior of `SubmitBatchJob` itself is defined in `SAIF.Services.Appworx` and not re-documented here*.

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)

## Sources
- `SAIF.Application.Claim.Legal\LegalNet\clsCreateFileManager.vb`
- `SAIF.Application.Claim.Legal\LegalNet\clsMailDateManager.vb`
